/*
 *地址自动定位
 */
function refuseCallback(){
	_global.promote.removeLoad();
}
function mapCallback(lat, lng){
	$('#lat').val(lat);
	$('#lng').val(lng);
	BMapGetLocation();
}
function BMapGetLocation(){	
	if(!isInBMFunc){
		isInBMFunc = true;	
	}
	var map = new BMap.Map("bdMap");
    map.enableScrollWheelZoom(true);
    var myGeo = new BMap.Geocoder();
    var markerTmp, lng=$('#lng').val(), lat=$('#lat').val();
    if(lng != '' && lat != ''){
        map.centerAndZoom(new BMap.Point(lng, lat),17);
		getAddrs(lng, lat);
    }else{
        map.centerAndZoom('重庆市渝北区',15); //设置地图元素的可视层
    }

    //3.监听事件
    map.addEventListener("dragend", function(){
        var center=map.getCenter();
        lng=center.lng;
        lat=center.lat;
        getAddrs(lng,lat);
    })
    map.addEventListener("zoomend", function(){
        var center=map.getCenter();
        lng=center.lng;
        lat=center.lat;
        getAddrs(lng,lat);
    });
    //4.获取地址函数
    function getAddrs(lng,lat){
        //获取地址和周边
        myGeo.getLocation(new BMap.Point(lng,lat),fillAddrs);
    }
    //获取地址和周边
    function fillAddrs(result){
        var ul=$('#location-result');
        ul.empty();
        if(result){
            var addComp = result.addressComponents;
			if(!isLocationChosen){
				$('#rec-address-choose').val(addComp.province+"/"+addComp.city+"/"+addComp.district);
				$('#rec-street').val(result.address);
                $('#lng').val(result.point.lng);
                $('#lat').val(result.point.lat);
				_global.promote.removeLoad();
				isLocationChosen = true;
			}			
            var dom_label = $('<label>').html('当前');
            var dom_p1 = $('<p class="text-hide">').html('').append(dom_label);
            var dom_p2 = $('<p>').html(result.address);
            $('<li>').attr('data-lng',result.point.lng).attr('data-lat',result.point.lat).attr('data-province',addComp.province).attr('data-address',result.address).attr('data-city',addComp.city).attr('data-district',addComp.district).attr('data-street',addComp.street).attr('data-streetNumber',addComp.streetNumber).append(dom_p1).append(dom_p2).on('click',function(){
                $('#rec-address-choose').val($(this).attr('data-province')+'/'+$(this).attr('data-city')+'/'+$(this).attr('data-district'));
                $('#rec-street').val($(this).attr('data-address'));
                $('#lng').val($(this).attr('data-lng'));
                $('#lat').val($(this).attr('data-lat'));
                $('.location-box').hide();
            }).appendTo(ul);
            var items=result.surroundingPois;
            for(var i=0;i<items.length;i++){
                dom_p1 = $('<p class="text-hide">').html(items[i].title);
                dom_p2 = $('<p>').html(items[i].address);
                $('<li>').attr('data-lng',items[i].point.lng).attr('data-lat',items[i].point.lat).attr('data-province',addComp.province).attr('data-city',addComp.city).attr('data-address', items[i].address).attr('data-district',addComp.district).attr('data-street',addComp.street).attr('data-streetNumber',addComp.streetNumber).append(dom_p1).append(dom_p2).on('click',function(){
                    $('#rec-address-choose').val($(this).attr('data-province')+'/'+$(this).attr('data-city')+'/'+$(this).attr('data-district'));
                    $('#rec-street').val($(this).attr('data-address'));
                    $('#lng').val($(this).attr('data-lng'));
                    $('#lat').val($(this).attr('data-lat'));
                    $('.location-box').hide();
                }).appendTo(ul);
            }
        }
    }
    //判断是是否软键盘弹出收起
    var beforeH=$(window).height();
    var afterH=beforeH;
    $(window).on('resize',function(){
        afterH=$(window).height();
        if(afterH<beforeH){//弹出情况

        }else{//收起情况
            $('#aname').blur();
        }
        beforeH=afterH;
    })

    map.addEventListener('touchstart',function(){
        $('#aname').blur();
    });
    var ysTimer = 0;
    var bdSearchTimer = 0;
    //根据地址搜索
    $('#aname').on('input porpertychange',function(){
        if(!$(this).val()){
            return false;
        }
        if($(this).val()==$(this).data('value')){
			return false;
        }
        $(this).data('value',$(this).val());
        var _name =  $(this).val();
        clearTimeout(ysTimer);
        ysTimer = setTimeout(function(){
            clearTimeout(bdSearchTimer);
            var local = new BMap.LocalSearch(map,
                {
                    renderOptions:{
                        map: map,
                        autoViewport:true,
                        selectFirstResult:true
                    },
                    onSearchComplete:function(){//搜索完成后改变缩放大小
                        if(local.getStatus()==BMAP_STATUS_SUCCESS){
                            bdSearchTimer = setTimeout(function(){
                                map.setZoom(20);
                            },500);
                        }
                    }
                }
            );
            local.search(_name);
        }, 500);
        
    })
}